In general, this invention relates to the transmission of a multimedia file over a communications network. More specifically, this invention relates to a method for smoothing the transmission of a multimedia file having clock recovery restraints over a communications network.
A communications network facilitates the transfer of information from a sender to a remote receiver. Early networks provided for the transfer of audio information (i.e., voice). Over time, however, the types of information transferred by a communications network evolved to include not only audio but also data, video and images. Increasingly, the information transferred is “multimedia” in that it consists of some combination of audio, video and/or image. In fact, audio/video files currently comprise a large percentage of multimedia files and are expected to be a significant portion of future network traffic. Applications that utilize or intend to utilize the transmission of multimedia files include video-on-demand and the “web casting” of television programs.
There are several factors that make the transfer of a multimedia file more difficult than transferring other types of network communications. For example, in many circumstances, the transfer of multimedia information over a network is “time-sensitive” in that the information must be received within a certain time period in order to be effectively utilized or reproduced. Consider the transmission of a file that includes both data and video information to a receiver who will view the video as it is being sent. The video file or portion of a file comprises a series of still images or frames that if displayed rapidly (e.g., at least 30 frames per second for broadcast quality video) in sequence result in a completely fluid picture. If the display rate is slow, however, then the display device will not be able to display the images rapidly enough and the result is a poor quality, erratic picture. Thus, when the receiver receives a multimedia file having a video portion, the receiver must process a number of frames within a small time period in order to display a fluid picture.
Another factor that makes the transfer of multimedia files difficult is the large size of many multimedia files and the relatively high rate at which the frames must be displayed. More specifically, these characteristics make the transmission of most multimedia files bandwidth intensive. For example, an uncompressed, broadcast quality video typically requires between 90 Mbps (megabits per second) to 270 Mbps of bandwidth for a successful transmission. Even when compressed, a video stream may require between 1.5 Mbps and 9 Mbps of bandwidth. Moreover, the size of the frames may vary greatly which causes the bandwidth required at a particular time to vary. Thus, for a compressed video stream, a communication network utilized to transfer the stream must have at least 9 Mbps (approximately) of bandwidth available, although the entire reserved bandwidth may not be fully utilized at any specific time.
There is yet another factor that influences the transmission of a multimedia file. During a transmission, the frames of a multimedia file typically are received in the buffer of a stream decoder where the frames are stored before being decoded and sent to other devices, such as a display device. Decoder buffers have a limited size, so if the frames arrive too quickly there is a risk that the buffer will be full of frames waiting to be decoded. In this case, the decoder will have no place to store the incoming frames, and the frames will be lost. Conversely, if the frames arrive too slowly, then the buffer will be emptied of frames before new frames arrive causing the decoder to be idle until new frames arrive.
The transmission of a multimedia file is further complicated when the sender and receiver must have synchronized clocks. Consider the transmission of a multimedia file containing both audio and video information. When the file is received, the audio and video portions of the file are separated and sent to the devices that will render the information (e.g., the video portion may be sent to a monitor and the audio portion may be sent to an amplifier). Both the audio and video portions of the file will contain timing, or clock, information so that the corresponding portions of the file may be rendered at the same time. The receiver's system must recover this clock information and then synchronize that information with its own clock in order to insure that the two portions of the file are effectively produced. The transmission of a television signal over a network is one example of a transmission with clock recovery restraints.
Several simple methods exist for transferring a multimedia file. One method involves finding the bandwidth required to transfer the largest frame in the file and then reserving that bandwidth for the time required to transfer the entire file. This method insures that the bandwidth needed to transfer the largest frame is continually available. The method, however, is inefficient because the entire reserved bandwidth is not utilized during significant portions of the transfer. Another method of transferring a multimedia file would be to reserve only the bandwidth necessary for a particular frame at the time when that frame is scheduled to be transferred. This method is also inefficient in that every frame might require a different bandwidth and, therefore, the method would be constantly changing the reserved bandwidth, which may increase the cost of the transmission to an unacceptable level.
To reduce the high variability of bandwidth demanded and improve efficiency, a multimedia transmission may be “smoothed.” Generally, smoothing seeks to maximize the time intervals at which a reserved rate and/or transmission rate are used without causing the decoder's buffer to overflow or underflow. For example, consider a five-frame stream in which the first frame requires a transmission rate of 1 Mbps, the second frame requires 0.5 Mbps, the third frame requires 1 Mbps, the fourth frame requires 4 Mbps, and the fifth frame requires 5 Mbps for an acceptable transmission. Instead of scheduling an initial reserved rate of 1 Mbps with four changes, one after each frame is transmitted, or scheduling a reserved rate of 5 Mbps for the entire transmission, a smoothed transmission might request an initial reserved rate of 1 Mbps and then one change to 5 Mbps after the third frame is transmitted. Although the smoothed transmission would have excess reserved bandwidth during the transmission of the second frame and the fourth frame, this excess is significantly less than the method that reserves the maximum bandwidth required. Also, the smoothed method has only one change in reserved rate compared to four changes in the method requiring a separate reserved rate for each frame. The smoothed transmission, therefore, is both feasible and more efficient than the methods described above.
Even more so than other multimedia files, the transmission of a file that has a stringent clock specification requires careful consideration. First, as stated above, existing smoothing methods seek to maximize the time intervals at which a transmission rate is used without causing the decoder buffer to underflow or overflow. FIG. 1 shows an example of the amount of data received at the decoder buffer, represented by solid line 10, when a current smoothing method is employed. (The dotted line designated by the numeral 20 indicates the buffer's overflow boundary, and the dotted line designated by the numeral 30 indicates the buffer's underflow boundary. So long as the amount of data received at the decoder remains between dotted lines 20 and 30, the stream decoder's buffer will not overflow or underflow.) It is apparent from FIG. 1 that existing smoothing methods force the decoder buffer to almost underflow after almost overflowing and vice versa. This characteristic has an impact on the recovery of clock information as shown in FIG. 2, wherein solid line 40 represents the clock frequency recovered from the transmission smoothed by the example method. From FIG. 2 it is apparent that the clock frequency recovered by existing smoothing methods could be more stable.
It has been discovered that the clock recovery process is facilitated if a fixed buffer occupancy at the decoder is maintained. In FIG. 3, solid line 50 represents the amount of data received at a decoder buffer when a smoothing method that maintains the decoder buffer at one-half status is employed. (Consistent with FIG. 2, in FIG. 3 the dotted line designated by the numeral 60 indicates the buffer's overflow boundary and the dotted line designated by the numeral 70 indicates the buffer's underflow boundary.) When such a smoothing method is utilized, the clock frequency recovered is shown by the solid line 80 in FIG. 4. Comparing line 40 in FIG. 2 with line 80 in FIG. 4 clearly shows the advantage of a smoothing method that maintains a fixed buffer occupancy.
Therefore, it is desirable to provide a method for smoothing the transmission of a multimedia file that facilitates the clock recovery process. More specifically, it is desirable to provide a method for transmitting a multimedia file that smooths the transmission of a multimedia file while maintaining a fixed buffer occupancy at the decoder. It is further desirable to provide a method for determining a schedule for the transmission of a multimedia file that when implemented results in a smooth transmission and facilitates clock recovery at the receiver by maintaining a fixed buffer occupancy at the decoder. Additional advantages and novel features of the invention will be set forth in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following, or may be learned from practice of the invention.